const fs = require('fs'),
      { resolve } = require('path');
const dirPos = dir => resolve(__dirname,dir);

/**
 * 可写流
 * 写的时候并不会立刻写入文件，而是先写入缓存区，highWaterMark 默认值16k，等缓存区满了之后，才真正的写入文件中
 */
let ws = fs.createWriteStream(dirPos('./2.txt'), {
    flags: 'w',  // 要进行什么样的操作
    mode: 0o666,  // 权限位
    start: 2, // 从索引为三的位置开始读
    highWaterMark: 3, // 每次可以读几个字节
    encoding: 'utf8'
});

/**
 * flag = 缓存区已满 ？false ：true;
 * 可以继续操作就返回true，不能则返回false
 * 返回false，就不会往缓存区写了，但是数据不会丢失，会缓存在内存中。等缓存区清空在从内存中读出
 */
let flag = ws.write('你好'); // -> boolear 